package principal;

import lejos.nxt.Button;
import lejos.nxt.Motor;
import lejos.nxt.NXTRegulatedMotor;
import lejos.nxt.SensorPort;

public class  NXTPrincipal {

	// Constantes
	private static final SensorPort SENSOR_COR = SensorPort.S2;
//	private static final SensorPort SENSOR_TOQUE_ESQ = SensorPort.S4;
//    private static final SensorPort SENSOR_TOQUE_DIR = SensorPort.S3;
	
//	private static final NXTRegulatedMotor MOTOR_PA = Motor.C;
//	private static final NXTRegulatedMotor MOTOR_RODA_ESQ = Motor.A;
//	private static final NXTRegulatedMotor MOTOR_RODA_DIREITA = Motor.B;
	private static final NXTRegulatedMotor MOTOR_TACO = Motor.B;
	
	private static Thread subLancamento;
//    private static Thread subNavegacao;

	private static NXTLancamento lancamento;
//	private static NXTNavegacao navegacao;

	public static void main(String[] args) {
		
		Button.waitForAnyPress();
		
		init();

		subLancamento.start();
//		subNavegacao.start();

		while (true) {
			if (!lancamento.get_bolaLancada()) {
				if (lancamento.get_temBolinha()) {
					if (lancamento.get_bolaAzul()) {
						lancamento.lancarBolaAzul();
					} else {
						lancamento.lancarBolaLaranja();
					}
				}
			}
			if (Button.ESCAPE.isDown()) {
				lancamento.fim = true;
//				navegacao.fim = true;
				break;
			}
		}
	}

	private static void init() {
		lancamento = new NXTLancamento(SENSOR_COR, MOTOR_TACO);
//        navegacao = new NXTNavegacao(SENSOR_TOQUE_ESQ, SENSOR_TOQUE_DIR, MOTOR_RODA_ESQ, MOTOR_RODA_DIREITA, MOTOR_PA);

		subLancamento = new Thread(lancamento, "Subsistema de lancamento");
//        subNavegacao = new Thread(navegacao, "Subsistema de navegacao");

	}
}
